Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix CUDA 9 sm variables. #2566

Closed
wants to merge 1 commit into from

Conversation

kazuki0824
Copy link
Contributor

@kazuki0824 kazuki0824 commented Oct 18, 2018

"compute_72" is not supported in CUDA 9.
@taketwo
Copy link
Member

taketwo commented Oct 18, 2018

Sorry I don't see any proof that 72 is not supported in CUDA 9 on the page you referenced. Contrary, Wikipedia claims that

CUDA SDK 9.0/9.1/9.2 support for compute capability 3.0 – 7.2 (Kepler, Maxwell, Pascal, Volta)

@kazuki0824
Copy link
Contributor Author

kazuki0824 commented Oct 18, 2018

  1. NVCC emits the error below in makefile.

[ 58%] Building NVCC (Device) object cuda/segmentation/CMakeFiles/pcl_cuda_segmentation.dir/src/pcl_cuda_segmentation_generated_connected_components.cu.o
nvcc fatal : Unsupported gpu architecture 'compute_72'
CMake Error at pcl_cuda_segmentation_generated_connected_components.cu.o.cmake:209 (message):
Error generating
/pcl/release/cuda/segmentation/CMakeFiles/pcl_cuda_segmentation.dir/src/./pcl_cuda_segmentation_generated_connected_components.cu.o

make[2]: *** [cuda/segmentation/CMakeFiles/pcl_cuda_segmentation.dir/src/pcl_cuda_segmentation_generated_connected_components.cu.o] Error 1

Environment: Inside Docker, Ubuntu 16.04 + CUDA 9.0
CMake arguments: cmake -DCMAKE_BUILD_TYPE=None -DBUILD_CUDA=ON -DBUILD_GPU=ON -WITH_CUDA=ON -DBUILD_common=ON -DBUILD_features=ON -DBUILD_filters=OFF -DBUILD_global_tests=OFF -DBUILD_io=ON -DBUILD_kdtree=ON -DBUILD_keypoints=OFF -DBUILD_stereo=OFF -DBUILD_registration=ON -DBUILD_sample_consensus=OFF -DBUILD_segmentation=OFF -DBUILD_surface=OFF -DWITH_DOCS=OFF -DWITH_TUTORIALS=OFF -DCMAKE_INSTALL_PREFIX=/usr ..

  1. nvcc --help actually says below.
    nvcc --help in CUDA 9.1
    Allowed values for this option: 'compute_30','compute_32','compute_35',
    'compute_37','compute_50','compute_52','compute_53','compute_60','compute_61',
    'compute_62','compute_70','compute_72','sm_30','sm_32','sm_35','sm_37','sm_50',
    'sm_52','sm_53','sm_60','sm_61','sm_62','sm_70','sm_72'.
    nvcc --help in CUDA 9.0
    Allowed values for this option: 'compute_30','compute_32','compute_35',
    'compute_37','compute_50','compute_52','compute_53','compute_60','compute_61',
    'compute_62','compute_70','sm_30','sm_32','sm_35','sm_37','sm_50','sm_52',
    'sm_53','sm_60','sm_61','sm_62','sm_70'.

Thus, CUDA 9.0 is incapable of dealing with sm_72. Please check it out also.

@taketwo
Copy link
Member

taketwo commented Oct 18, 2018

Thanks for the details. Could you please update the PR such that both your problem is solved and CUDA 9.1 users can use sm_72? That is, add one more else branch.

@kazuki0824
Copy link
Contributor Author

kazuki0824 commented Oct 18, 2018

As @taketwo says, this topic has been moved to #2567.

@kazuki0824 kazuki0824 closed this Oct 18, 2018
@SergioRAgostinho
Copy link
Member

1. nvcc --help actually says below.
   nvcc --help in CUDA 9.1
   Allowed values for this option:  'compute_30','compute_32','compute_35',
   'compute_37','compute_50','compute_52','compute_53','compute_60','compute_61',
   'compute_62','compute_70','compute_72','sm_30','sm_32','sm_35','sm_37','sm_50',
   'sm_52','sm_53','sm_60','sm_61','sm_62','sm_70','sm_72'.
   nvcc --help in CUDA 9.0
   Allowed values for this option:  'compute_30','compute_32','compute_35',
   'compute_37','compute_50','compute_52','compute_53','compute_60','compute_61',
   'compute_62','compute_70','sm_30','sm_32','sm_35','sm_37','sm_50','sm_52',
   'sm_53','sm_60','sm_61','sm_62','sm_70'.

Cool tip. Didn't know this one. Thanks

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants